/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package datamodel;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

/**
 *
 * @author Kvest
 */
public class Order3 extends Order2
{
    public static final byte ORDER_3 = 3;
    
    // ID Партнера
    private int partnerID;
    // Краткое описание - он отобразится при выводе списка заказов
    private String orderShortDesc;
    //  Полное описание - при просмотре заказов
    private String orderFullDesc;
    //  Полное описание для предварительных заказов
    private String orderPrelimFullDesc;
    
    public Order3(int orderID)
    {
        super(orderID);
        
        partnerID = -1;
        orderShortDesc = "";
        orderFullDesc = "";
        orderPrelimFullDesc = "";
    }

    public Order3(byte[] data) throws IOException
    {
        super(data);
    }

    protected void readFields(DataInputStream dis) throws IOException
    {
        super.readFields(dis);
        
        partnerID = dis.readInt();
        orderShortDesc = dis.readUTF();
        orderFullDesc = dis.readUTF();
        orderPrelimFullDesc = dis.readUTF();
        
        //Пропускаем тип заказа
        dis.read();
    }
    
    protected void writeFields(DataOutputStream dos) throws IOException
    {
        super.writeFields(dos);
        
        dos.writeInt(partnerID);
        dos.writeUTF(orderShortDesc);
        dos.writeUTF(orderFullDesc);
        dos.writeUTF(orderPrelimFullDesc);   
        
        //Помечаем тип заказа
        dos.write(ORDER_3);
    }

    public void setOrderFullDesc(String orderFullDesc) 
    {
        this.orderFullDesc = orderFullDesc;
    }

    public void setOrderPrelimFullDesc(String orderPrelimFullDesc) 
    {
        this.orderPrelimFullDesc = orderPrelimFullDesc;
    }

    public void setOrderShortDesc(String orderShortDesc) 
    {
        this.orderShortDesc = orderShortDesc;
    }

    public void setPartnerID(int partnerID) 
    {
        this.partnerID = partnerID;
    }
    
    public String getShortDescription()
    {
        return orderShortDesc;
    }

    public String getOrderFullDesc()
    {    
        return orderFullDesc;
    }

    public String getOrderPrelimFullDesc() 
    {
        return orderPrelimFullDesc;
    }
    
    public boolean isAlien()
    {
        return (partnerID > 0);
    }
}
